package cn.iocoder.an.module.mold.controller.admin.upkeeptask.vo;

import cn.iocoder.an.module.mold.controller.admin.upkeeptask2item.vo.UpkeepTask2itemSaveReqVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.List;

import static cn.iocoder.an.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 模具保养任务状态修改 Request VO")
@Data
public class UpkeepTaskWorkReportVO {

    @Schema(description = "主键")
    private Long id;

    @Schema(description = "接收人Id", example = "6308")
    private Long assigneerId;

    @Schema(description = "任务接收时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime taskReceiveTime;

    @Schema(description = "作业开始时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime jobStartTime;

    @Schema(description = "任务开始时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime taskStartTime;

    @Schema(description = "任务结束时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime taskEndTime;

    @Schema(description = "任务执行时长")
    private Double taskExecutionDuration;

    @Schema(description = "保养完整性")
    private Boolean isCompleted;

    @Schema(description = "保养人Ids")
    private List<Long> assigneerIds;

    @Schema(description = "描述")
    private String  description;


    @Schema(description = "保养项目")
    private List<UpkeepTask2itemSaveReqVO> upkeepItems;

}
